package cn.italkcloud.cph.entity.dto.vos;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @author dominate
 * @since 2024/7/9
 **/

@ToString
@Data
public class ReportCustomerFeeDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 账户号码
     */
    private String account;
    /**
     * 账户名称
     */
    private String accountName;
    /**
     * 话单总计
     */
    private Long cdrCount;

    /**
     * 费用总计
     */
    private BigDecimal totalFee;

    /**
     * 计费时长总计（秒）
     */
    private Long totalTime;

    /**
     * 起始时间
     */
    private Long beginTime;

    /**
     * 终止时间
     */
    private Long endTime;

    public ReportCustomerFeeDTO() {
        this.cdrCount = 0L;
        this.totalFee = BigDecimal.ZERO;
        this.totalTime = 0L;
    }

    public ReportCustomerFeeDTO(String account, Date beginDate, Date endDate) {
        this.accountName = account;
        this.account = account;
        this.cdrCount = 0L;
        this.totalFee = BigDecimal.ZERO;
        this.totalTime = 0L;
        this.beginTime = beginDate.getTime();
        this.endTime = endDate.getTime();
    }


    @EqualsAndHashCode(callSuper = true)
    @Data
    public static class Result extends ResultDTO {
        private List<ReportCustomerFeeDTO> infoReportCustomerFees;
    }
}
